/* 
 * File:   tripleGaussian.cpp
 * Author: murmeli
 * 
 * Created on November 25, 2013, 2:40 PM
 */

#include "tripleGaussian.h"

tripleGaussian::tripleGaussian() {
    setName("Triple Gaussian attractive well");
	setUniverse(30.0);
	setWidth(getUniverse());
	setPotLeft(-1.0*getWidth()/2.0);
	setPotRight(getWidth()/2.0);
        setUniLeft(-1.0*getUniverse()/2.0);
        setUniRight(getUniverse()/2.0);
	setFx(getUniverse()/2.0);
	setTx(-1*getUniverse()/2.0);
	setDepth(0.0);
	setMinEnergy(-14.98);
}

tripleGaussian::tripleGaussian(const tripleGaussian& orig) {
}

tripleGaussian::~tripleGaussian() {
}

double tripleGaussian::getPotentialValueAt(double x) {
return (-15.0*exp(-1.0*((x+5.0)*(x+5.0))) - 15.0*exp(-1.0*x*x) - 15.0*exp(-1.0*((x-5.0)*(x-5.0))));
}